package com.sgzn.sgpay.service;

import com.sgzn.sgpay.model.request.*;
import com.sgzn.sgpay.model.response.SgsResultResponse;
import com.sgzn.sgpay.model.response.result.PresentQueryPageResult;
import com.sgzn.sgpay.model.response.vo.MerchantDevicePresentVo;
import com.sgzn.sgpay.persistence.domain.TPresent;

import java.util.List;

/**
 * Created by xxjs-gd-llf
 * DATETIME:2018/5/19 14:58
 * Description:
 */
public interface SgsPresentService {

    /**
     * 添加礼品
     */
    SgsResultResponse<String> addPresent(SgsPresentAddRequest request);

    /**
     * 删除礼品
     */
    SgsResultResponse<String> deletePresent(SgsPresentDeleteRequest request);


    /**
     * 查询单礼品
     * @param request
     */
    SgsResultResponse<TPresent> queryPresent(SgsPresentQueryRequest request);

    /**
     * 更新礼品
     */
    SgsResultResponse<String> updatePresent(SgsPresentUpdateRequest request);

    /**
     * 分页查询
     * @param request
     * @return
     */
    SgsResultResponse<PresentQueryPageResult> queryPage(SgsPresentQueryPageRequest request);

    /**
     * 查询礼品列表,用于类型下拉列表请求
     * @param request
     * @return
     */
    SgsResultResponse<List<TPresent>> queryList(SgsDevicePresentVoQuerytRequest request);


    /**
     * 查询礼品列表,用于类型下拉列表请求
     * @param request
     * @return
     */
    SgsResultResponse<MerchantDevicePresentVo> queryDevicePresentVo (SgsDevicePresentVoQuerytRequest request);
}
